In video transmission networks, video data can often be missing upon delivery at the decoder end. This can be caused by various reasons such as, for example, network congestion, channel fading and interference, receiver buffer overflow, and so forth. To maintain a certain level of end user viewing experiences, error resilience is usually added in various ways to the bit streams by the encoder.
Redundant slice is a new tool introduced in the International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 recommendation (hereinafter the “MPEG-4 AVC standard”) to improve the video error robustness. Redundant slice provides a way to add source redundancy by a video encoder. With redundant slice coding, a redundant representation of a picture is coded, with possibly different coding parameters than the primary coded picture. At the decoder, when a primary slice is missing but its redundant slice is available, the decoder reconstructs the picture by decoding the redundant slice, and hence recovers part or all of the lost information.
The error resilience provided by redundant slice is at the expense of extra bit rate. An ineffective design of redundant slice coding can consume a significant amount of bit rate, while only providing limited capability of reducing video distortion.
The MPEG-4 AVC standard provides syntax for coding of redundant slices, but does not specify what type of information should be included in the coded redundant slice. There is no specified normative behavior in the MPEG-4 AVC standard for encoding or decoding redundant slices.
A feature of various methods for implementing redundant slice is that not all the bits spent on a redundant slice are effective in reducing delivered video distortion. Some information coded into the redundant slices by the methods can be readily obtained from other parts of the end-to-end system. This causes a waste of bit rate and hence results in a decreased coding efficiency.